]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
panel: Ensure signal is disconnected when the panel is destroyed
authorJulian Sparber <julian@sparber.net>
Tue, 19 Dec 2023 10:48:54 +0000 (11:48 +0100)
committerMarge Bot <marge-bot@gnome.org>
Thu, 21 Dec 2023 15:17:28 +0000 (15:17 +0000)
This fixes a warning when terminating GNOME Shell

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3064>

js/ui/panel.js

index 9f4313b5466fa59de2c753304fceadeb14d46264..1041bac8d14ef22ce03c72534877616d3b30b3d6 100644 (file)
@@ -952,12 +952,13 @@ class Panel extends St.Widget {
     }
 
     _onMenuSet(indicator) {
-        if (!indicator.menu || indicator.menu._openChangedId)
+        if (!indicator.menu || indicator.menu._openChangedConnected)
             return;
 
         this.menuManager.addMenu(indicator.menu);
 
-        indicator.menu._openChangedId = indicator.menu.connect('open-state-changed',
+        indicator.menu._openChangedConnected = true;
+        indicator.menu.connectObject('open-state-changed',
             (menu, isOpen) => {
                 let boxAlignment;
                 if (this._leftBox.contains(indicator.container))
@@ -969,7 +970,7 @@ class Panel extends St.Widget {
 
                 if (boxAlignment === Main.messageTray.bannerAlignment)
                     Main.messageTray.bannerBlocked = isOpen;
-            });
+            }, this);
     }
 
     _getDraggableWindowForPosition(stageX) {